home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 30
/
Amiga Format AFCD30 (Sep 1998, Issue 114).iso
/
-seriously_amiga-
/
sound
/
promizer20
/
docs
next >
Wrap
Text File
|
1998-06-29
|
5KB
|
189 lines
--*======================================================================*--
================
= Promizer II =
================ v2.0 by mc68000 of MASQUE/T.R.S.I.
copyright notice :
This tool is freeware, that means that you can use it for
any kind of production, but not sell it !!! Copyright 1993
by Frank Hülsmann !!!
--*======================================================================*--
Instructions :
What makes the Pomizer ???
Well ... very simple ... it plays protracker (& clones)
modules in a fast way - try it out. It handles all
effects of this cool tool (i hope ...) in the right way
and it handles the finetune option in a total different
(but much faster) way then the tracker. It also included
a pattern packer, that makes music-ripping much harder
(i found no ripper, that could ripp promizer v1.x modules) !!!
--*======================================================================*--
How to use it ???
I think, that i don't must write any words about the handling.
--*======================================================================*--
But how can i replay the songs in own productions ???
Very easy ... the Promizer II tool links the replayer routine
before the sound data. Just call it on this way :
Init a tune :
moveq #x,d0
moveq #y,d1
jsr sound_base
x = 0 -> use rasterline dma wait routine
x = 1 -> use cia-b interupt (much faster)
y = 0 -> don't fade the tune in
y = 1 -> fade the tune in
after this you get a pointer on several
player buffers/tables in d0 :
offset : buffer/table :
0 periodtables (16x with finetune)
1200 chan1temp (same struct like pt)
1248 chan2temp (same struct like pt)
1296 chan3temp (same struct like pt)
1344 chan4temp (same struct like pt)
1610 counter (.b)
1394 songposition (.w) (pt pos *2 !!!)
1611 songspeed (.b)
1392 patternposition (.w)
1396 samplestart table (31x longwords)
Replay it (each vertical blank) :
moveq #mask,d0
moveq #x,d1
jsr sound_base+4
mask = what voices should i play ??
mask is a 4-bit unsigned value :
%1111 = play all 4 voices
%0001 = play only voice 1
%1010 = play voices 2 & 4
x = 1 -> fade tune out
x = 0 -> no outfading
!!! Attention : don't use any effect commands
in a switched off voice !!!
End tune (after that, don't call the player again !!!) :
jsr sound_base+8
If you want to wait for the out-fading, then call
jsr sound_base+12
--*======================================================================*--
EXAMPLE SOURCECODE (CUT & SAVE IT) - VERY SHORT VERSION :
section "play_it",code_p
; INIT TUNE
start move.w $dff01c,d5
or.w #$8000,d5
move.l $6c.w,d6
move.w #$7fff,$dff09a
lea songbase,a0
moveq #1,d0 ;use cia
moveq #1,d1 ;fade in
jsr (a0) ;init tune
move.l #newint,$6c.w
move.w #$c020,$dff09a
; WAIT LEFT BUTTON
.loop btst #6,$bfe001
bne.b .loop
move.b #1,fade_flag ;start fading out
jsr 12(a0) ;wait for fading
move.w #$7fff,$dff09a
jsr 8(a0) ;stop playing
move.l d6,$6c.w
move.w d5,$dff09a
rts
; INTERUPT
newint movem.w d0-d1,-(a7)
move.w #%1111,d0 ;all voices
move.b fade_flag(pc),d1
jsr songbase+4
move.w #$20,$dff09c
movem.w (a7)+,d0-d1
rte
fade_flag dc.b 0
section 'song',data_c
songbase incbin 'mod.test'
--*======================================================================*--
What's new from the last version ???
- completly new replayer and optimizer
- fader included
- voice mask included
- i killed the "multi song" function, because i never used it ...
if you want to use it, write to me - if there are enough
requests, i include it ....
- no player-stand-alone-module - if you want to play your
protracker tunes in multitasking, use one of the mt-player
(like chamälion player, noiseplayer, ...)
--*======================================================================*--
Planed updates :
- faster replayer (this player isn't very optimzed ...)
- new and better packer
- more extras
--*======================================================================*--
contact me for bug reports, or just for fun :
i don't answer any swapper request !!!!
mc68000/masque/trsi
Frank Hülsmann
Timmerscheidtstr.14
4400 Münster _____________ _____________
Germany / ___ ____ \ / _________/\
\/\_// /\___\ \// /\___/ /\/
\/// / ____/____ // / /
/. /\\ \___\___// /. / /
/___/ /\___\/________/___/ /
\___\/ \___\________\___\/
--*======================================================================*--